#pragma once

#include "fxcc/core/graph/common/ImageMipmap.h"

namespace fxcc
{
    namespace graph
    {
        namespace common
        {
            struct FXCC_API TextureCubeArrayJack :public fxcc::Base
            {
                struct Desc
                {
                    enum Type
                    {
                        _DDS_,
                    }m_Type;
                    std::string m_DDSPath;

                    bool SetDDS(const std::string& path)
                    {
                        m_Type = Type::_DDS_;
                        m_DDSPath = path;
                        return fs::exists(path);
                    }
                    fxcc::graph::common::SamplerType m_SamplerType = fxcc::graph::common::SamplerType::_sampler_cube_default_;
            
                } m_Desc;

                fxcc::graph::common::ImageMipmap::MipMapData m_MipmapConfig;

                TextureCubeArrayJack(const Desc& desc) :m_Desc(desc)
                {

                }
                virtual void SetShader(int index) const { assert("failed set shader"); }

            };
        }
    }
}

